//
//  StatusListViewModel.swift
//  sinaWB
//
//  Created by 杨运旺 on 15/11/17.
//  Copyright © 2015年 杨运旺. All rights reserved.
//

import Foundation

/// 微博数据列表模型 － 封装网络方法
class StatusListViewModel {

    /// 微博数据数组 - 上拉/下拉刷新
    lazy var statusList = [StatusViewModel]()
    
    /// 加载网络数据
    func loadStatus(finished: (isSuccessed: Bool)->()){
        NetworkTools.sharedTools.loadStatus { (result, error) -> () in
            if error != nil{
                print("出错了")
                finished(isSuccessed: false)
                return
            }
            // 判断 result 的数据结构是否正确
            guard let array = result?["statuses"] as? [[String : AnyObject]] else{
                print("数据格式错误")
                finished(isSuccessed: false)
                return
            }
            
            // 遍历字典的数组，字典转模型
            // 1. 可变的数组
            var dataList = [StatusViewModel]()
            
            // 2.遍历数组
            for dict in array{
                dataList.append(StatusViewModel(status:Status((dict: dict))))

            }
            
            // 3. 拼接数据
            self.statusList = dataList + self.statusList
            
            // 完成回调
            finished(isSuccessed: true)
        }
    }

    
    
}
